package dp.countBits;
/**
 * @Date 2020/04/18
 * @author 王光浩
 * @Thinking 使用暴力法解决
 * @Analysis 时间复杂度O（kn），空间复杂度O（n）
 */
public class MyMethodOne {
	public int[] countBits(int num) {
		int[] ret = new int[num+1];
		for(int i=0 ; i<ret.length ; i++) {
			ret[i] = helper(i);
		}
		return ret;
    }
	/**
	 * 统计 num 数字中有多少个 1
	 * @param num
	 * @return the number of 1 in the num
	 */
	private int helper(int num) {
		int temp = 1;
		int sum = 0;
		for(int i=0 ; i<32 ; i++) {
			if( (num&temp) == 1 ) sum++;
			num>>=1;
		}
		return sum;
	}
}
